package com.prime.tutorial.moviestore.dao;

import com.prime.tutorial.moviestore.domain.*;

import java.util.ArrayList;
import java.util.List;

public interface LogicalViewDAO extends GenericDAO<Object, Long> {

    List<Country> getCountriesWithDevices();

    List<City> getCitiesWithDevices(Long country_id);

    List<Device> getCoreDevices(Long city_id);

    List<Device> getChildDevices(Long device_id);

    List<DeviceToDevice> getChildConnections(Long device_id);

    List<Port> getPorts(Long device_id);

    List<Device> getDevicesByPort(Long portType_id);    //devs with defined portType

    List<Device> getDevicesByType (String deviceType);

    List<Model> getModelsByType (String deviceType);

    List<Device> getDeviceByPorts(List<Integer> portTypeIDs);             // check if it works

    List<ModelType> getModelTypeByDeviceId(Integer deviceId);

//    List<Model> getModelsByType(String modelType);
    
    List<Model> getModelsByType(String modelType, Integer deviceId);

//    List<DevicePort> getDevicePorts(Long device_id);

}